package cn.bytemecc.bloomFilter.strategy.hashs;

import cn.bytemecc.bloomFilter.strategy.IHashGenerator;

import java.util.List;

/**
 * @description: 普通散列法
 * @author: Liang Zi cao
 * @DATE: 2023/7/16
 * Talk is cheap. Show me the code
 **/
public class SimpleHash implements IHashGenerator {

    @Override
    public Integer doHash(Object value,Integer size) {
        //1 计算hashcode，由于可能有负数，直接取绝对值
        int hashValue = Math.abs(value.hashCode());
        //2 通过hashValue和2的32次方取余后，获得对应的下标坑位
        int index =  (hashValue % size);
        return index;
    }
}
